<?php

namespace Muyuxuan\Plugin;

use Composer\Composer;
use Composer\IO\IOInterface;
use Composer\Plugin\PluginInterface;

class Plugin implements PluginInterface
{
    public function activate(Composer $composer, IOInterface $io)
    {
        // 安装或启用插件时触发
        $io->write('YourPlugin installed successfully!');
        $this->yourInstallHook();
        echo "安装完成";
    }

    public function deactivate(Composer $composer, IOInterface $io)
    {
        echo "禁用";
        // 插件被禁用时触发（较少使用）
    }

    public function uninstall(Composer $composer, IOInterface $io)
    {
        echo "卸载";
        // 卸载插件时触发
        $io->write('YourPlugin uninstalled successfully!');
        $this->yourUninstallHook();
    }

    private function yourInstallHook()
    {
        // 自定义安装逻辑，例如：
        // - 创建配置文件
        // - 设置目录权限
        // - 初始化数据库
    }

    private function yourUninstallHook()
    {
        // 自定义卸载逻辑，例如：
        // - 删除生成的文件
        // - 清理数据库
    }
}